草庐IT

java - 测试 getJSONArray 是否为 null

全部标签

javascript - QUnit 测试在 Travis CI 上失败(在带有 grunt.js 的 phantomjs 上运行)

我们在JavaScript上的开源项目enchant.js中引入了带有travisCI的CI系统。https://github.com/wise9/enchant.js我们喜欢qunit测试,我们使用grunt.js(npm)运行它们,但它在TravisCI上失败并出现如下错误:PhantomJStimedout,possiblyduetoamissingQUnitstart()call.Use--forcetocontinue.完整的错误信息在这里:https://travis-ci.org/wise9/enchant.js/builds/4016842奇怪的是,每次我运行grunt

javascript - 基于 req.user 验证用户是否是管理员是否安全?

我在我的express.js应用程序中使用一个简单的中间件函数来验证用户是否具有管理员权限:functionisAdmin(req,res,next){if(req.user.admin)returnnext();res.redirect("/");}passport用于账户认证。这是否安全,或者是否可以将req.user.admin注入(inject)到不应具有管理员权限的用户的请求中?我应该先找到一个用户,然后检查该用户是否具有管理员权限?例如:functionisAdmin(req,res,next){if(req.user){User.findOne({"_id":req.us

javascript - headless (headless) JavaScript 测试 HTML5 音频/视频

我知道还有很多其他类似的问题,但是答案并没有提供解决这个问题的方法。我的网站上使用了一个使用HTML5网络音频的JavaScript文件,我想对其进行单元测试。我研究过将QUnit与PhantomJS结合使用,在你说什么之前我知道Phantom不支持它(http://phantomjs.org/supported-web-standards.html),但是我想知道是否有办法解决这个问题?在浏览器中使用QUnit测试它会像您预期的那样工作,但我不想每次都使用浏览器测试它,我希望它在服务器上自动进行。其中一个测试失败的示例:QUnit.test("isPlaying",function(

javascript - HTML 注释 <!-- 是否充当 JavaScript 中的单行注释,为什么?

JavaScript具体如何理解构造?从JavaScript的Angular来看,它是不是//之外的又一个注释?和/**/?从测试看来,JavaSript对待喜欢//:一行什么都不做,而按预期工作。此行为记录在何处?这不是其他问题的重复:我不问为什么、是否或如何使用它。我正式地问它在JavaScript中有什么语法和语义。这个问题很重要,在其他问题中没有得到回答:例如,上面指出的行为不能从其他问题和他们的答案中猜到(实际上这是我的动机:我的程序没有像上面那样工作,而这些问题和答案无助于理解原因)。 最佳答案 Fromtestingi

javascript - 测试用 browserify 打包的模块?

我正在为使用browserify管理的模块编写测试。这是我要测试的模块(具体我要测试calculateData):require('mapbox.js');varutils=require('./src/chart_utils');vardashboard={calculateData:function(data){//functionstotest}};我已经开始写这样的测试了:varexpect=require('chai').expect;varDashboard=require('../dashboard');//describe('Dashboard',function(){

javascript - Google reCaptcha 2 TypeError : a is null after calling grecaptcha. 重置

我有一个基于AJAX的注册页面,它可以在客户端和服务器上进行验证。当服务器端验证失败时,AJAX将错误返回到屏幕并尝试使用grecaptcha.reset()重置recaptcha。重置验证码似乎工作正常,客户可以重新勾选“我不是机器人”框并继续,但是在重置验证码后,页面上的滚动操作会导致大量类型错误:aisnulljavascriptrecaptcha_en.js错误。TypeError:aisnullhttps://www.gstatic.com/recaptcha/api2/r20151104115408/recaptcha__en.jsLine50代码(简化):varrecap

javascript - native 映射、过滤器等方法是否已优化以在可能的情况下在单个中间数组上运行?

考虑下面的代码片段,它将一个对象数组转换为一个数字数组,过滤掉负值,然后乘以2:varobjects=(newArray(400)).fill({value:Math.random()*10-5});varpositiveObjectValuesDoubled=objects.map(item=>item.value).filter(value=>value>0).map(value=>value*2);当像这样链接在一起时,总共创建了多少个实际的Array对象?1还是3?(不包括初始objects数组)。特别是,我在谈论由filter创建的中间Array对象,然后由链中的第二个map

javascript - 第二次测试不改变 URL

我有两个测试。第一个测试成功通过。然后在第二个测试中有一个url方法调用,但它并没有改变浏览器中的url。wdio.conf.js中的baseUrl设置为http://localhost/web/es/index.html#测试:varassert=require('assert');describe('userlogin',function(){it('userlogin',function(){browser.url('/system/login').setValue('[name="username"]','test').setValue('[name="password"]',

javascript - 使用 javascript 测试错误的 reCAPTCHA 站点 key

有没有办法以编程方式测试(使用javascript)GooglereCAPTCHA站点key是否有效?例如,当向reCAPTCHA提供无效的站点key时,reCAPTCHA小部件中会显示以下错误消息:ERRORforsiteowner:Invalidsitekey我想在代码中测试这个条件。 最佳答案 不幸的是,Google没有为开发人员提供任何验证站点key的选项,并且无法使用Javascript以编程方式完成此操作,因为recaptcha是一个iframe,并且无法在客户端访问框架html代码。唯一可能的解决方案是实现某种网络抓取

javascript - 是否有将全局变量转换为局部变量的简单方法?

假设我们有一个如下所示的函数:constfn=()=>x;此函数应返回x的值,其中x在全局范围内可用。最初这是undefined但如果我们定义x:constx=42;然后我们可以期望fn返回42。现在假设我们想将fn呈现为字符串。在JavaScript中,我们有toString用于此目的。然而,我们还假设我们希望最终在新的上下文中执行fn(即使用eval),因此它使用的任何全局引用都应该在我们调用之前或期间内化toString.在将fn转换为字符串时,如何使x成为局部变量,其值反射(reflect)x的全局值?假设我们不知道x被命名为x。也就是说我们可以假设变量包含在同一个模块中。